home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / bootup / boot_a2m / darklord / dckit.txt < prev    next >
Text File  |  1995-05-02  |  41KB  |  823 lines

  1. The DarkLord Construction Kit
  2.  
  3. Manual for version 1.1
  4.  
  5. 26th February 1994
  6.  
  7. 1. Introduction
  8.  
  9. The DarkLord Construction Kit (hereafter just `DCK') is a utility for
  10. creating the control files (the files with a .DKL extension) needed by
  11. the DarkLord screen saver. It does not produce the optional external
  12. modules used by DarkLord - you will have to code these yourself.
  13. However, it does make the creation of the `DKL' file as painless as
  14. possible.
  15.  
  16. Without a DKL file, DarkLord itself can't really do very much. All it
  17. will do is blank the screen after 3 minutes without the user moving
  18. the mouse or pressing a key. To use any of the inbuilt effects of
  19. DarkLord, or to load and run a prewritten external module, you need to
  20. load a file which controls the various parameters of the program.
  21. These files have the extension "DKL".
  22.  
  23. 2. System requirements
  24.  
  25. DCK will run on any Atari ST/TT/Falcon. As some of the dialog boxes
  26. are quite large, many features are only available in screen widths of
  27. 640 pixels or more (which means that most functions are not available
  28. in ST low resolution). Normally, you should use ST medium or high
  29. resolution, or an 80-column mode on the Falcon or TT. The exception is
  30. for colour editing: if you want to edit more than 4 colours on an ST,
  31. you will need to switch to low resolution.
  32.  
  33. 3. Installing and running DCK
  34.  
  35. 3.1 Installation
  36.  
  37. Installing DCK is simple. Simply copy the files in the folder named
  38. `DCKIT' to a floppy or a hard disk. The DKL files which you create
  39. don't have to be stored here, they (and the external modules) can be
  40. stored anywhere. Run DCK in the usual way from the desktop or a shell
  41. program.
  42.  
  43. 3.2 The program interface
  44.  
  45. The DCK menu consists of the following menu titles:
  46.  
  47. DC Kit   File      Edit      Options
  48.  
  49. Each title has a number of entries associated with it. Keyboard
  50. shortcuts are provided for almost all menu entries and are shown on
  51. the right hand side of the menu. A menu entry which has a series of
  52. three dots after the name (e.g. Save As...) means that selecting this
  53. entry will bring up a dialog box for further selections to be made.
  54.  
  55. Some menu selections and dialog boxes use popup menus. When you click
  56. on such an option, a small menu will pop up which lists the available
  57. choices in the same way as a conventional GEM menu. You can select any
  58. option in the usual way, or click somewhere on the screen away from
  59. the menu to cancel the choice. In these menus, the currently selected
  60. option will be marked with a tick mark. You will usually find that
  61. when the menu appears the mouse is over the currently selected
  62. (ticked) option, unless the position of the mouse on the screen
  63. doesn't permit this (e.g. it is too near one of the screen edges).
  64.  
  65. 4. Using the DarkLord Construction Kit - a tutorial
  66.  
  67. Rather than a long description of the various operations which DCK can
  68. undertake, it might be easier to show how it works by means of a
  69. tutorial. A full description of its functions follows at the end of
  70. this manual.
  71.  
  72.  
  73. This tutorial assumes that you have installed DCK as described in
  74. section 3 above, and you have run it so that you are now looking at a
  75. blank screen with the Kit's menu bar at the top. If you have already
  76. been experimenting with DCK, pull down the File menu and select `New'.
  77. Click on `OK' when the alert box appears. This will restore DCK to its
  78. default state, as it is when first run.
  79.  
  80. For this tutorial, we will create a simple DKL file which will cause
  81. DarkLord to load and run an external module.
  82.  
  83. The first thing to do is to set some miscellaneous options, required
  84. for the control of DarkLord. From the Edit menu, select
  85. `Miscellaneous...'. A large dialog will appear.
  86.  
  87. The dialog box contains four boxes, containing different parameters
  88. which may be set. At the top left is a box headed `Watch for
  89. activity'. DarkLord works by watching for mouse movements and/or
  90. keypresses. If it detects any activity, then it will reset its
  91. internal timer so that the specified interval must elapse without any
  92. further activity before the screen saver cuts in. If the screen saver
  93. is already active, then the detection of activity will cause control
  94. to be returned to the operating system.
  95.  
  96. This box allows you to decide which activities DarkLord will watch
  97. for. By default, it watches for mouse movements (or button presses),
  98. keypresses, and disk activity, and in general these are the best
  99. options, so we will leave it like that for the moment. If you have a
  100. modem attached, and you would prefer that the screen saver did not
  101. activate while input/output through the modem port was happening, then
  102. click on the `Modem' box to select it. You can do the same with the
  103. `MIDI' box if you are using MIDI equipment.
  104.  
  105. At the bottom left of the dialog is a box which allows you to set the
  106. time which must elapse without activity before the screen saver
  107. activates. By default this is three minutes, but you can change this
  108. to anything from 1 to 99 minutes (see the reference section for the
  109. special case of a zero minute delay). Below the time display is a box
  110. marked `Clear screen on entry'. If this box is selected, DarkLord will
  111. clear the screen when it activates. The module we will use in this
  112. tutorial requires the screen to be cleared,, so leave the box as it is
  113. (selected ).
  114.  
  115. At the top right of the dialog is a box headed `Colour rotation'. If
  116. an external module is to be loaded, this box is irrelevant and we can
  117. leave it as it is. Finally, at the bottom right there is a box for two
  118. special cases. Leave these in their default state (neither is
  119. selected) for this tutorial.
  120.  
  121. Those are all of the options to be set, so click on `OK' to remove the
  122. dialog box. Next we can change the colour palette if required. Choose
  123. `Colour...' from the Edit menu and a series of boxes will be displayed
  124. in the available screen colours. If you are running in monochrome,
  125. only two boxes are shown; in ST low resolution, there will be 16. On
  126. the TT or Falcon 256-colour modes, you will see only 16 colours, but
  127. the remainder of the palette can be altered by using the box at the
  128. bottom of the dialog to display the next block of 16 colours. If you
  129. are running in Falcon True Colour mode, the palette display will not
  130. be available.
  131.  
  132. At this point you can change any of the colours. Click on the box
  133. filled with the colour to be changed. Its RGB (red, green, blue)
  134. colour values will be shown in the boxes on top of the three sliders
  135. to the right of the dialog. You can alter these colours by using the
  136. sliders, in the same way as the Atari Control Panel. For this
  137. tutorial, you can alter the colours to whatever you like. Do remember
  138. though that the very first colour in the palette will be used as the
  139. background colour, and for the module we will use here it is best set
  140. to black.
  141.  
  142. At the top of the dialog is a button indicating how many colours will
  143. be saved in the .DKL file. Leave this as it is for this tutorial. When
  144. you have finished, click on `OK'. If you have changed the colour
  145. palette, DCK will change it back to the palette it found when first
  146. run. If you select the colour palette display a second time, it will
  147. change back to your new, altered palette. This ensures that you can
  148. alter the palette as much as you like and still have a readable screen
  149. display for all other functions.
  150.  
  151. DarkLord also has the option to activate itself if the mouse is moved
  152. into a particular area of the screen - the `activation hot spot'. You
  153. can change the position of the hot spot by clicking on the `Hot
  154. spot...' entry in the Edit menu. A small dialog box appears; the hot
  155. spot itself can be in one of the four corners of the screen (or can be
  156. disabled completely by selecting `None'). By default it is the top
  157. right corner of the screen but this can be changed if you wish.
  158.  
  159. Now we can start on the module. In the Edit menu you will see that
  160. four of the entries are greyed out (unavailable). This is because
  161. these entries must be associated with a particular module. So, the
  162. first thing to do is find the module. Choose the `Module filename'
  163. entry. A small dialog will be shown, which in turn shows the module
  164. file in the middle. At the moment, this will be blank because we
  165. haven't chosen a module yet. Click on the button marked `Fsel...' and
  166. the GEM file selector will appear. Use this to find the module with
  167. the file name `GLOBES.DMO' Double-click on this file (or single click
  168. and then click on OK in the file selector) to choose it. You will see
  169. its name appear in the dialog box. Click on OK in the dialog, and you
  170. will find that the other entries in the Module menu are now available.
  171.  
  172. Firstly, choose the `Author and title...' entry. This allows the
  173. author of a module to enter his/her name here, along with the module's
  174. title. In the two lines for the author, you can enter your name if you
  175. wish (I don't mind if you claim authorship of this module!). In the
  176. line for the title, you can enter any suitable title; try `Globes!'
  177. for want of anything better.
  178.  
  179. Next, choose the `Module flags...' entry from the Module menu. This
  180. will bring up a small popup menu with three entries, one for each of
  181. three flags. This particular module only uses flag 1 (and it must be
  182. flag 1) so click on `Flag 1' in the popup. A dialog box will appear
  183. with 6 editable lines of text in it. At the moment all of these will
  184. be empty.
  185.  
  186. Each flag may have up to 6 different states, but the important point
  187. is that, depending on which state is currently selected, DarkLord will
  188. pass a number to the loaded external module. The module reads this
  189. number and alters its activities accordingly. In this case the flag
  190. only has two different states. In the first line, type the words `Draw
  191. spheres'. In the second line, type `Draw ellipses'. Now we can select
  192. which of these is to be the default option when the DKL file is loaded
  193. by DarkLord. If you click on the round button next to the first line,
  194. it is these words which will be displayed in the box in DarkLord's
  195. `Flags' dialog box, or you can click on the button associated with the
  196. second line if you wish.
  197.  
  198. The module `GLOBES.DMO' only uses this one flag, which determines
  199. whether the module will draw spheres or ellipses. Regardless of which
  200. option you select as a default, you can change the selected option at
  201. any time from DarkLord's control panel. Click on OK when you have
  202. completed the flag setup.
  203.  
  204. Finally, choose the `Module variables...' entry from the Module menu.
  205. These variables are more sophisticated than the flags, which simply
  206. switch between up to 6 different but fixed states. The variables on
  207. the other hand enable the user to adjust a number (between predefined
  208. limits) from the DarkLord control panel. There are three such
  209. variables available, and this module uses two of them.
  210.  
  211. These two variables govern the maximum and minimum sizes of the
  212. spheres/ellipses which the module will draw. The module will choose a
  213. random size for the sphere/ellipse which lies between the minimum and
  214. maximum sizes the user has set.
  215.  
  216.  
  217. For the first variable, enter the text `Minimum size' in the area
  218. marked `Name'. You now have to enter the limits which the user can
  219. choose between. For the area marked `Min' enter a value of 10; for the
  220. area marked `Max' enter 40. You should now enter a starting value
  221. which must lie between the minimum and maximum values you have set. If
  222. you don't do this, DCK will automatically set a starting value midway
  223. between the upper and lower limits.
  224.  
  225. For the second variable, enter the text `Maximum size' and the values
  226. 40 (for `Min') and 100 (for `Max'), plus a suitable starting value.
  227.  
  228. When this file is loaded into DarkLord, you will be able to adjust the
  229. minimum and maximum sizes of the objects the module will draw; the
  230. module will choose a value randomly between these two sizes. For
  231. example, if you use DarkLord's control panel to set the minimum size
  232. to 10 and the maximum size to 100, you will get a very wide range of
  233. sizes; if you set both to 40, the objects will all have the same size.
  234. Experiment with this and see how it works.
  235.  
  236. The file is now complete. To save it, select `Save as...' from the
  237. File menu and save it with an appropriate name, e.g. GLOBES.DKL (make
  238. sure it has the DKL extension). To test it, load it into the DarkLord
  239. desk accessory (or run DarkLord as a program if it is not loaded as an
  240. accessory) and click on `Activate' in the control panel. If DarkLord
  241. is loaded as an accessory, there's no need to exit DCK before loading
  242. and running your new .DKL file. Just save the file from DCK, call up
  243. the accessory, and load the .DKL file.
  244.  
  245. Note: if you don't want to work through this tutorial, the file
  246. GLOBES.DKL is supplied as part of the package. The source code for the
  247. external module is also supplied.
  248.  
  249. 5. Reference section
  250.  
  251. This section describes the various functions of DCK and the effect
  252. that they have. They are listed by menu and by entry in the respective
  253. menus. If a keyboard shortcut is present, it is given after the menu
  254. entry name. Wherever possible, keyboard shortcuts follow the
  255. guidelines recommended by Atari. A shortcut such as F1 represents a
  256. function key.
  257.  
  258. 5.1 Desk accessories
  259.  
  260. These are available as usual under the `DarkLord CK' menu. This menu
  261. also contains an entry marked `About DarkLord CK'. If you click on
  262. this a dialog box appears which gives you some copyright information,
  263. the version number of the program (important if reporting bugs), and
  264. the name of the loaded DKL file (if any) currently being edited.
  265.  
  266. 5.2 The File menu
  267.  
  268. 5.2.1 New (Control-N)
  269.  
  270. This option will clear out any existing .DKL file data and return the
  271. program to the same state it was in when first run. Once selected,
  272. data is lost irrecoverably so you are asked to confirm that you want
  273. to do this (unless you have turned the warning off with the `Expert'
  274. function).
  275.  
  276. 5.2.2 Open (Control-O)
  277.  
  278. This loads a .DKL file from disk. It will overwrite any existing data
  279. so you are asked to confirm the action (unless you have turned the
  280. warning off). The file selector is displayed and you choose a file to
  281. load in the usual way. If you try to load a file which is not a .DKL
  282. file, you will be informed of this, but you will not lose any current
  283. data.
  284.  
  285. 5.2.3 Save (Shift-Control-S)
  286.  
  287. This will save a DKL file with its existing name, overwriting any file
  288. with the same name already on disk. No warning is given before saving
  289. the file. If you are creating a file which has not yet been named,
  290. this menu entry will be disabled (unavailable). In that case, use the
  291. `Save as...' menu entry. To see what name (if any) the file being
  292. edited has, choose the `About DarkLord CK' entry from the desk
  293. accessory menu.
  294.  
  295. 5.2.4 Save as... (Control-S)
  296.  
  297. This saves a DKL file, but brings up the file selector first allowing
  298. you to choose the name for the file, or cancel the save action. If you
  299. choose the name of an existing file, no warning is given that the file
  300. will be overwritten.
  301.  
  302. 5.2.5 Import palette... (Control-C)
  303.  
  304. This will load a palette file saved with the `Save palette...'
  305. function described below. It will replace any existing palette in
  306. memory. The file selector is displayed and palette files have the
  307. extension `DPA'. No warning is given before loading the palette. Note
  308. that loading a palette only alters the current colour palette, but not
  309. any other data in the DKL file being edited.
  310.  
  311. 5.2.6 Export palette... (Control-X)
  312.  
  313. This option will first bring up the file selector then save the
  314. current colour palette to disk. You should always specify the
  315. extension `DPA' for DarkLord palette files. The number of colours
  316. saved in the palette depends on the number selected in the Colour
  317. Palette dialog box (see below). For example, if you have loaded a DKL
  318. file containing only two colours, then only two colours will be saved,
  319. even if you are in 16 colour mode. But if you are in 2 colour mode,
  320. then choose to save 256 colours, then 256 colours will be saved even
  321. though 254 of them may be black!
  322.  
  323. A more detailed description of how DCK uses colour palettes will be
  324. found in the section on the Colour Palette Editor below.
  325.  
  326. 5.2.7 Extract palette... (Control-V)
  327.  
  328. This allows you to extract the colour palette from an existing DKL
  329. file on disk and copy it automatically into the file you are editing.
  330. This is provided so that you can easily use palettes from prewritten
  331. DKL files. If this facility was absent, then you would have to save
  332. the current DKL file, load the one containing the palette you wanted,
  333. save its palette, reload the original DKL file and load the new
  334. palette back in. This command short-circuits this long winded method;
  335. as with loading a palette file, only the colour palette data is
  336. changed, everything else stays the same.
  337.  
  338. 6. The Edit menu
  339.  
  340. 6.1 Colour... (F1)
  341.  
  342. This entry brings up the Colour Palette editor. The editor has four
  343. main components. In the middle and to the left of the dialog box are a
  344. number of different coloured boxes, each representing a different
  345. colour. One of these boxes is indicated by a surrounding border as the
  346. colour currently being edited.
  347.  
  348. The number of boxes visible depends on the number of colours available
  349. in the screen resolution you are currently in. In ST high resolution,
  350. there are only 2; in medium resolution there are 4, while there are 16
  351. in low resolution. In the 256-colour modes of the TT and Falcon, only
  352. 16 coloured boxes are present at any time but the extra colours can be
  353. edited by using the colour group selector described below.
  354.  
  355. To the right of the colour boxes are three vertical sliders,
  356. representing the three primary colours of red, green, and blue which
  357. make up all colours. Each slider has a box at the top which shows the
  358. current value of that primary colour, ranging from 0 to 1000. You can
  359. alter the values of each primary colour by clicking on the box
  360. contained within each slider with the mouse, holding down the button,
  361. and moving the mouse to drag the slider. The colour value will be
  362. updated when you release the button, and you will see the colour
  363. change in the selected box. Finer control of each colour value is
  364. provided by clicking on the up and down arrows above and below each
  365. slider.
  366.  
  367. Note: in ST monochrome (high resolution) the colours cannot be
  368. adjusted independently; one is always black and the other white. The
  369. two colours can be swapped over, however. In all resolutions the
  370. colour of the very first box (colour 0) is the background colour
  371. DarkLord will use when it activates the screen saver.
  372.  
  373. Although each primary colour can theoretically be adjusted in the
  374. range 0-1000, the ST hardware does not provide that degree of
  375. adjustment. These values are used by GEM to set the colour, but each
  376. is adjusted to fit the nearest colour available from the ST's
  377. hardware. What this means is that, if for example you set a colour to
  378. have RGB values of 172, 878, and 911 respectively, then when you come
  379. to adjust that colour again you may find that the values have changed;
  380. the actual colour is the same, but the values have been adjusted to
  381. the nearest available equivalent.
  382.  
  383. At the bottom of the editor is the colour group selector, a small box
  384. containing up and down arrows. This lets you select which group of 16
  385. colours at a time you want to edit; of course, it can only be used in
  386. screen modes which have more than 16 colours. Click on the arrows to
  387. display a different group of 16 colours.
  388.  
  389. At the top of the dialog is a line of text reading `Save x colours in
  390. palette', where `x' is a number. A small box contains the number,
  391. which is the number of colours to be saved with the .DKL file. This
  392. box is a popup menu; if you click on it, you can choose to save 0, 2,
  393. 4, 16, or 256 colours. All of these options are available regardless
  394. of which screen mode you are currently in. Note that choosing to save
  395. zero colours means that no colour palette data is saved as part of the
  396. DKL file. Also, DCK will not allow you to save a palette (DPA) file
  397. with no colours in it. Before you save a DKL or palette file, be quite
  398. sure that the correct number of colours you want to save is selected
  399. in the palette editor.
  400.  
  401. This may appear a little confusing: how can you save (say) 16 colours
  402. if you are only in 4-colour mode? The reason is that DCK allows you to
  403. load, but not edit, extended colour palettes. For example, suppose you
  404. are in Falcon 256-colour mode, and you save all 256 colours as a
  405. palette file. You cannot edit more than the first 16 colours in that
  406. palette  with an ST, but you can still load and save this palette as
  407. part of a DKL file so that an external module has the additional
  408. colours available if it ever runs in a 256-colour mode.
  409.  
  410. Important note: the number of colours to save, as indicated in the
  411. palette editor, is also saved as part of the DKL file you are editing.
  412. If you are working in 16-colour mode, and you load a file which
  413. contains only 4 colours, then resaving the DKL file will still only
  414. save 4 colours. If you want to change this you must alter this number
  415. manually to a higher (or lower) number as required. If you haven't
  416. loaded an DKL file, or you have selected the `New' command from the
  417. File menu, this number of colours which will be saved is however many
  418. colours are available in the current screen resolution.
  419.  
  420. 6.2 Miscellaneous... (F2)
  421.  
  422. Selecting this entry will bring up a large dialog containing four
  423. boxes.
  424.  
  425. 6.2.1 Monitoring computer activity.
  426.  
  427. 6.2.1.1 Mouse & keyboard
  428.  
  429. The box at the top of the dialog allows you to set which activity of
  430. the computer DarkLord will monitor. At its top there is a box which if
  431. clicked on will display a popup menu. This determines whether DarkLord
  432. watches mouse activity only, keyboard activity only, or both. DarkLord
  433. will activate its screen-saving function if no activity of the mouse
  434. and/or keyboard has occurred within the specified time period. (Mouse
  435. activity includes mouse movements and button presses.) In addition,
  436. once activated DarkLord will watch for activity and return control to
  437. GEM if any activity occurs.
  438.  
  439. If keyboard monitoring is enabled, DarkLord will respond to presses of
  440. the Shift, Alternate, or Control keys on their own (i.e. without the
  441. need to use them in conjunction with some other key), and the cursor
  442. keys, as well as the usual alphanumeric, function and special keys.
  443.  
  444. The default setting is to watch both the keyboard and the mouse, but
  445. you can opt to only watch the mouse or only watch the keyboard. You
  446. cannot opt to disable both mouse and keyboard monitoring, as once
  447. DarkLord had activated you would have no way of regaining control of
  448. the system!
  449.  
  450. It is best to leave DarkLord watching both mouse and keyboard unless
  451. there is a good reason to switch one of these off. One such reason
  452. would be if you are using a program which has a `dongle' plugged into
  453. the mouse or joystick port. These dongles sometimes generate a
  454. constant stream of mouse or keyboard interrupts which would mean that
  455. DarkLord would never come into operation, since it would detect
  456. apparently constant activity of the mouse or keyboard. If this
  457. happens, try turning off mouse or keyboard monitoring.
  458.  
  459. Technical note: because of the way the mouse/keyboard interrupt system
  460. works on the Atari machines, turning off mouse monitoring will force
  461. DarkLord to use a different, less efficient way of monitoring the
  462. keyboard, so that it will no longer respond to presses of the Shift,
  463. Alternate, or Control keys on their own.
  464.  
  465. 6.2.1.2 Monitoring the modem or midi ports
  466.  
  467. DarkLord can also monitor the modem and/or midi ports for input/output
  468. activity. This is provided so that DarkLord will not cut in while
  469. input or output through these ports is occurring, if you so wish. The
  470. default state is not to monitor either port but you can choose to
  471. monitor either or both by clicking on the respective buttons.
  472.  
  473. 6.2.1.3 Monitoring disk activity
  474.  
  475. There is no simple, reliable method of watching for disk input/output
  476. activity on the Atari machines. DarkLord will look for disk activity
  477. at regular intervals and will not activate if the box labelled `Disk'
  478. is selected. The default setting is to monitor disk activity. Most
  479. disk activity is quite short, much shorter than the 1 minute which is
  480. the minimum setting for the delay time before DarkLord activates.
  481. However, prolonged periods of activity may occur when copying large
  482. numbers of files, or backing up a hard disk.
  483.  
  484. For example, if you use Diamond Back from HiSoft to back up your hard
  485. disk, you may find that DarkLord will activate partway through a
  486. backup session. This is annoying because you then cannot see the
  487. progress of the backup. Under these circumstances monitoring disk
  488. activity can be useful in preventing DarkLord from activating during a
  489. long backup session.
  490.  
  491. 6.2.2 Delay time
  492.  
  493. The box at the lower left is where you set the time before DarkLord
  494. activates. This is normally set at 3 minutes, but can range from 1 to
  495. 99 minutes. You can alter the time by editing the value in the usual
  496. way.
  497.  
  498. What happens if you enter a time of zero minutes (or clear the time
  499. line and leave it empty)? If DarkLord loads a file containing a zero
  500. delay time when it is running as a desk accessory, it will ignore this
  501. value and use the default 3 minute delay instead. When running as a
  502. program, a zero delay is accepted as valid, so that DarkLord will
  503. carry out its screen saving activity as soon as it is run and has
  504. initialised.
  505. Below the delay time is a box marked `Clear screen on activation'. If
  506. this box is selected, DarkLord will clear the screen to the background
  507. colour in the loaded palette (if there is one) or to the current
  508. background colour if a palette wasn't loaded as part of a .DKL file.
  509. If you don't want this to happen, click on this box to deselect it.
  510. Some external modules look nicer if the screen is first cleared, while
  511. for others the opposite is true.
  512.  
  513. 6.2.3 Colour rotation
  514.  
  515. The box at the top right of this dialog allows you to set the colour
  516. rotation time.
  517.  
  518. If an external module is not loaded, DarkLord will simply blank the
  519. screen to the background colour in the loaded palette, if there is
  520. one, or to the current background colour if there is no loaded
  521. palette. The problem is that, if this colour is not black, this effect
  522. might cause screen burn-in itself, rather negating the point of a
  523. screen saver. Therefore, if no module is loaded, DarkLord can be
  524. instructed to rotate the background colour through however many
  525. colours are available in the current screen mode. The speed of
  526. rotation is governed by the line labelled `Rotation time' which is the
  527. time in seconds which must elapse before the colour is changed. This
  528. is set to a minimum of 10 seconds, but can be longer.
  529.  
  530. If you really don't like this feature, you can turn it off by de-
  531. selecting the colour rotation box, but take note of the warning in the
  532. preceding paragraph.
  533.  
  534. Note: this feature is completely inoperative if an external module is
  535. loaded, when it is assumed that the module will handle any necessary
  536. colour cycling.
  537.  
  538. 6.2.4 Additional options
  539.  
  540. The last box deals with two additional options.
  541.  
  542. 6.2.4.1 Enable user message input
  543.  
  544. One use of an external module is to display a message on the screen
  545. when the screen saver cuts in (for example, `Out to lunch' or `See you
  546. in the pub at 5.30') or something similar. A module has to be
  547. specifically written to display such messages, so the ability to input
  548. a message is not normally present, and can only be enabled using DCK
  549. if a module can handle such messages.
  550.  
  551. If this facility is enabled, a button entitled `Message...' will be
  552. displayed in the main DarkLord control panel. This will allow the user
  553. to enter a message of up to 3 lines.
  554.  
  555. 6.2.4.2 Enable debug facility
  556.  
  557. If you are writing your own external modules DarkLord provides a
  558. facility to stop execution just before your module is run, in order to
  559. aid in debugging. To enable this facility, you must first enable
  560. debugging using DCK by selecting the `Enable debug facility' box. If
  561. you do this, a button will appear in the DarkLord's Toolbox which
  562. reads `Debug'. The user can then select which will cause DarkLord to
  563. stop with an `illegal' exception just before it executes a loaded
  564. module. The separate file MODULES.TXT provides more information on how
  565. to debug external modules.
  566.  
  567. This button is not present in DarkLord's control panel in normal use
  568. since a user could select it without being aware of its potential,
  569. which would cause a system crash when DarkLord tried to execute a
  570. module. For this reason the Debug button is only provided if
  571. specifically requested in DCK.
  572.  
  573. 6.3 Hot spot... (F3)
  574.  
  575. A convenient way to activate DarkLord, especially when running as a
  576. desk accessory, is to move the mouse pointer into an area of the
  577. screen which is monitored by DarkLord. If it detects the entry of the
  578. mouse into this area, DarkLord will activate.
  579.  
  580. This `hot spot' can be in any of the four corners of the screen,
  581. although the top right corner is strongly recommended and is the
  582. default setting. To alter the hot spot, select the `Hot spot' menu
  583. entry (or press F3) and a small dialog box will be displayed. This in
  584. turn shows a box representing the screen, with a smaller box at each
  585. corner indicating the four possible positions of the hot spot. Click
  586. on one of these to set the hot spot position.
  587.  
  588. If you don't want a hot spot at all, you can click on `None' to remove
  589. it.
  590.  
  591. 6.4 Module filename... (F4)
  592.  
  593. This is where you specify which external module is to be executed. You
  594. are not obliged to have any external module at all if you don't want
  595. one; all the other parameters referred to in preceding sections will
  596. still work, and the colour rotation facility will be available if
  597. there is no external module.
  598.  
  599. When you select this option, a small dialog is displayed. In the
  600. middle is an editable line of text which is where the module file name
  601. is shown. To select a module, click on the `Fsel...' button which will
  602. bring up the file selector. You can then find the module, which should
  603. always have a .DMO extension, with the selector. On return from the
  604. selector the module name is shown in the box. Alternatively, if you
  605. know the name of the module file, just type it into the text line. You
  606. will see that the extension is fixed and is always .DMO. Note that the
  607. location (directory) of the module is unimportant as DarkLord will
  608. always load a module from the same location as the .DKL file
  609. containing its name.
  610.  
  611. If you change your mind, and don't want a module after all, simply
  612. clear the file name with the Backspace or Esc keys.
  613.  
  614. 6.5 Module title... (F5)
  615.  
  616. This entry lets you enter some information about the name and author
  617. of the external module to be loaded. The entry is not available until
  618. you have selected a module to load.
  619.  
  620. This function brings up a dialog box with 2 lines of editable text at
  621. the top, and one at the bottom. In the top 2 lines you should enter
  622. the name of the module's author, plus any other details you wish (e-
  623. mail address, for example). This information will be displayed in
  624. DarkLord's information box.
  625.  
  626. The lower line is where you enter a suitable name for the module; this
  627. will appear in all of DarkLord's dialog boxes.
  628.  
  629. Note that these entries are entirely optional and do not affect the
  630. working of a module.
  631.  
  632. 6.6 Module variables... (F6)
  633.  
  634. ** Note: this section is only of interest to programmers writing
  635. external modules. The module variables should not be altered except by
  636. the module programmer. **
  637.  
  638. Many modules use parameters which can be adjusted according to the
  639. users' preferences. The variables associated with an external module
  640. allow the user to do this in a standard fashion. Up to three
  641. independent variables may be used, but there is no need to use them if
  642. they are not required. They should only be used where a parameter is
  643. capable of alteration within a range of numbers. Where the choice is
  644. between 2 or more fixed states, it is probably better to use the
  645. module flags (see section 6.7 below).
  646.  
  647. To alter the variables, select this menu entry, which will display a
  648. large dialog box. Within the box are three smaller boxes, one for each
  649. variable. For each variable, you must set three numbers and the
  650. variable must be given a name.
  651.  
  652. The first field in each variable is its name; this appears above the
  653. slider bar in DarkLord's control panel. The name MUST be present for
  654. the variable to be used. If the name field is left empty, DarkLord
  655. will not display the slider bar for that variable, and if the name
  656. fields of all three variables are empty the `Variables' icon on
  657. DarkLord's main control panel will be disabled.
  658.  
  659. Each variable works by allowing the user to change its value within a
  660. range which is set by the DKL file (and therefore ultimately by you,
  661. the programmer of the module). The first number to enter is the
  662. minimum value allowed for this variable; it can be any number,
  663. including zero, but must be a positive number (you won't be able to
  664. enter negative numbers). The second number is the maximum value for
  665. that variable; again, any positive number is allowed, but it must be
  666. greater than the minimum value. Finally, the initial value must be
  667. entered; this is the value the variable will have when DarkLord first
  668. loads the DKL file containing the variable. It must lie within the
  669. range specified by the minimum and maximum values (but can be equal to
  670. one of these limiting values).
  671.  
  672. Note that when a module is executed DarkLord will pass all three
  673. values for each variable to the module.
  674.  
  675. When you click on OK (or press Return) to leave this dialog box, DCK
  676. performs certain checks on the variable numbers you have entered.
  677. These are:
  678.  
  679.     - any number with a blank field is given the value zero;
  680.  
  681.     - if the maximum value is smaller than the minimum value, it is
  682.     set to the minimum value plus 1;
  683.  
  684.     - if the initial value falls outside the range, it is given a
  685.     value halfway between the upper and lower limits.
  686.  
  687. DarkLord will warn you of the action it has taken if any of these
  688. adjustments become necessary, unless you have turned on Expert mode
  689. (see section 7.1 below).
  690.  
  691. Note that these checks will not be made unless the variable is
  692. indicated as valid by the presence of some text in the name field for
  693. that variable.
  694.  
  695. 6.7 Module flags
  696.  
  697. ** Note: this section is only of interest to programmers writing
  698. external modules. The module flags should not be altered except by the
  699. module programmer, except where specifically indicated. **
  700.  
  701. In addition to the numeric variables, a number assigned to up to three
  702. switches, or flags, is passed to the module by DarkLord. Each flag can
  703. have up to 6 different states, but only one state is the `active' one
  704. which is passed to the module. The flag states are displayed via a
  705. popup menu in DarkLord's control panel.
  706.  
  707. To set a flag, click on this menu entry. A small popup menu will
  708. appear, allowing you to choose which flag you want to set. Click on
  709. the appropriate flag and a dialog box will appear.
  710.  
  711. The box consists of 6 lines of editable text plus 6 round buttons, one
  712. for each line. In each line you should enter whatever text is
  713. appropriate for that particular state of this flag. You do not have to
  714. use all 6 states if you don't need them, but you should start with
  715. state 1 and move down the list in sequence; don't enter text for
  716. states 1 and 2, miss a line, then enter something for state 4. This
  717. will cause a blank line to appear in the popup in DarkLord.
  718.  
  719. When you have typed in all the required text, you can select which
  720. state will be the default setting when DarkLord loads the DKL file.
  721. Click on the appropriate round button to do this. (Incidentally, users
  722. other than the module's programmer may change the default state if
  723. required by using DCK to edit the flag settings, or by using the Save
  724. facility from the DarkLord control panel.)
  725.  
  726. Note: DCK will not allow you to select a blank line as the initial
  727. setting. If you do this, it will set the initial setting to state 1
  728. when you exit the dialog. The very first state of each flag is a
  729. special case (see below); if this is blank the flag won't be displayed
  730. in DarkLord at all, so it doesn't matter if this is selected to be the
  731. initial setting. DCK will warn you if it has made this change, unless
  732. you turn off warnings by using Expert mode (see below).
  733.  
  734. When DarkLord loads the DKL file containing these flags, it shortens
  735. the length of its popup menu by however many unused states there are
  736. after the last used state. In other words, if you only use states 1,
  737. 2, and 3 of a particular flag, the popup DarkLord displays for that
  738. flag will only contain 3 entries - not 3 lines of text plus 3 blank
  739. lines. If you leave a blank state field sandwiched between state
  740. fields with text in them however, this blank field will be shown. For
  741. example, if you put text into states 1 and 2, nothing in 3, then text
  742. in state 4, the popup will contain 4 entries, one of which will be
  743. blank.
  744.  
  745. The final point to note about using these flags is that DarkLord will
  746. not display a flag at all if the very first state field is empty; it
  747. uses the contents of this field to determine if the flag is to be
  748. used. Your use of the state fields should always commence with state 1
  749. therefore, or the flag will not be available.
  750.  
  751. 6.8 Resolutions... (F8)
  752.  
  753. Not all modules will be able to work in all screen resolutions. If you
  754. are writing a module, at the least you should ensure that it can
  755. function regardless of the actual screen size. DarkLord will pass the
  756. screen width and height to a module when it is executed. Don't make
  757. any assumptions about the screen size.
  758.  
  759. The only limiting factor (and avoid this as well, if possible) should
  760. be the number of colours available. Obviously, if your module must
  761. have 16 or more different colours on screen in order to function, it
  762. shouldn't be used in 2-colour mode.
  763.  
  764. This option allows you to specify in which video modes the module will
  765. work. By default, it is assumed that a module will work in any screen
  766. mode, from 2-colour to True Colour. Selecting this entry brings up a
  767. dialog box with 5 buttons in it. These represent video modes with
  768. different numbers of bit planes, which correspond to the following
  769. numbers of colours:
  770.  
  771.     Planes    Colours
  772.       1           2
  773.       2           4
  774.       4          16
  775.       8         256
  776.      16       65536
  777.  
  778. True Colour mode on the Falcon does not use a bit plane structure for
  779. screen memory, so a separate button is provided. (Note: the VDI
  780. returns 16 bit planes for this mode on a Falcon, which is the value
  781. DarkLord passes to a module; but DarkLord also sets a separate flag to
  782. indicate whether or not the machine is in True Colour mode.)
  783.  
  784. All these buttons are initially selected, indicating that the module
  785. will run in that video mode. If a module will not run in a particular
  786. mode, click on the appropriate button to deselect it.
  787.  
  788. If DarkLord loads a module and finds from the DKL file that the module
  789. won't run in the current screen mode, it will display a message
  790. accordingly. The module will not execute in that mode, but all other
  791. functions (including simple screen blanking) will work.
  792.  
  793. 7. The Options menu
  794.  
  795. 7.1 Expert mode (F9)
  796.  
  797. This is the only entry in this menu.
  798.  
  799. By default DCK will show warning messages when you try to carry out an
  800. action which might lose data (such as loading a new file or quitting
  801. the program) and if it detects errors in the entries for the module
  802. variables and flags.
  803.  
  804. If you are sure you know what you're doing, you can turn off all these
  805. warnings by selecting this option. Select it again to turn it back on.
  806.  
  807. 8. Bug reports, etc.
  808.  
  809. I would be pleased to hear of any problems and bugs and particularly
  810. ideas for future developments. Please note that this is the last
  811. `free' version of DarkLord; future versions are likely to be
  812. shareware. I may consider giving free registration to anyone who
  813. writes an external module for DarkLord.
  814.  
  815. Finally, I would like to thank beta-testers, notably Ofir Gal, David
  816. Billington, and Joe Connor for their comments and input.
  817.  
  818. I can be contacted by email on the CIX conference system
  819. (spedler@cix.compulink.co.uk) or write to:
  820.  
  821. Steve Pedler, 12 Rudby Close, Gosforth, Newcastle upon Tyne, NE3 5JF,
  822. England
  823.